//-----------------------------------------------------------------------
// <copyright file="CourseSection.cs" company="Procure Development">
//     Copyright (c) Procure Development. All rights reserved.
// </copyright>
// <author>Victor Procure</author>
//-----------------------------------------------------------------------

using System;
using MongoDB.Bson;

namespace SManagement.Models
{
    /// <summary>
    /// A setting in which organized instruction of course content is provided to
    /// one or more students (including cross-age groupings) for a given period of
    /// time. (A course may be offered to more than one class/section.) Instruction,
    /// provided by one or more teachers or other staff members, may be delivered
    /// in person or via a different medium. Classes/Sections that share space
    /// should be considered as separate classes/sections if they function as
    /// separate units for more than 50 percent of the time.
    /// </summary>
    public class CourseSection
    {
        #region Instance Properties

        public ObjectId OrganizationId { get; set; }

        public decimal? AvailableCarnegieUnitCredit { get; set; }

        public ObjectId? RefCourseSectionDeliveryModeId { get; set; }

        public ObjectId? RefSingleSexClassStatusId { get; set; }

        public decimal? TimeRequiredForCompletion { get; set; }

        public ObjectId CourseId { get; set; }

        public ObjectId? RefAdditionalCreditTypeId { get; set; }

        public ObjectId? RefInstructionLanguageId { get; set; }

        public bool? VirtualIndicator { get; set; }

        public ObjectId? OrganizationCalendarSessionId { get; set; }

        public ObjectId? RefCreditTypeEarnedId { get; set; }

        public string RelatedLearningStandards { get; set; }

        public ObjectId? RefAdvancedPlacementCourseCodeId { get; set; }

        #endregion Instance Properties
}

}